package com.jeesite.modules.task.deploy.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 任务部署信息表-记录预期反馈时间Entity
 * @author zrr
 * @version 2022-03-03
 */
@Table(name="dc_sup_task_info_add", alias="a", label="任务部署信息表-记录预期反馈时间信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="task_id", attrName="taskId", label="任务id"),
		@Column(name="feedback_start_time", attrName="feedbackStartTime", label="反馈开始时间", comment="反馈开始时间（精确到分钟）", isUpdateForce=true),
		@Column(name="feedback_end_time", attrName="feedbackEndTime", label="反馈截止时间", comment="反馈截止时间（精确到分钟）", isUpdateForce=true),
		@Column(name="feedback_require", attrName="feedbackRequire", label="分阶段目标任务"),
		@Column(name="task_refine_id", attrName="taskRefineId", label="任务分解id"),
	}, orderBy="a.id DESC"
)
public class DcSupTaskInfoAdd extends DataEntity<DcSupTaskInfoAdd> {
	
	private static final long serialVersionUID = 1L;
	 /**
	 * 任务id
	 */
	private String taskId;
	private String leaderOrg;
	private String feedbackStatus;
	/**
	 * 分阶段目标任务
	 */
	private String feedbackRequire;
	/**
	 * 任务分解id
	 */
	private String taskRefineId;

	public String getFeedbackRequire() {
		return feedbackRequire;
	}

	public void setFeedbackRequire(String feedbackRequire) {
		this.feedbackRequire = feedbackRequire;
	}

	public String getTaskRefineId() {
		return taskRefineId;
	}

	public void setTaskRefineId(String taskRefineId) {
		this.taskRefineId = taskRefineId;
	}

	public String getFeedbackStatus() {
		return feedbackStatus;
	}

	public void setFeedbackStatus(String feedbackStatus) {
		this.feedbackStatus = feedbackStatus;
	}

	public String getLeaderOrg() {
		return leaderOrg;
	}

	public void setLeaderOrg(String leaderOrg) {
		this.leaderOrg = leaderOrg;
	}

	public String getActionId() {
		return actionId;
	}

	public void setActionId(String actionId) {
		this.actionId = actionId;
	}

	private String actionId;

	public String getTaskTitle() {
		return taskTitle;
	}

	public void setTaskTitle(String taskTitle) {
		this.taskTitle = taskTitle;
	}

	private String taskTitle;

	public String getHisStatus() {
		return hisStatus;
	}

	public void setHisStatus(String hisStatus) {
		this.hisStatus = hisStatus;
	}

	private String hisStatus;
	 /**
	 * 反馈开始时间（精确到分钟）
	 */
	private Date feedbackStartTime;
	private Date feedbackTime;
	private String feedbackTimeStr;

	public String getFeedbackTimeStr() {
		return feedbackTimeStr;
	}

	public void setFeedbackTimeStr(String feedbackTimeStr) {
		this.feedbackTimeStr = feedbackTimeStr;
	}

	public Date getFeedbackTime() {
		return feedbackTime;
	}

	public void setFeedbackTime(Date feedbackTime) {
		this.feedbackTime = feedbackTime;
	}

	public String getFeedbackStartTimeStr() {
		return feedbackStartTimeStr;
	}

	public void setFeedbackStartTimeStr(String feedbackStartTimeStr) {
		this.feedbackStartTimeStr = feedbackStartTimeStr;
	}

	public String getFeedbackEndTimeStr() {
		return feedbackEndTimeStr;
	}

	public void setFeedbackEndTimeStr(String feedbackEndTimeStr) {
		this.feedbackEndTimeStr = feedbackEndTimeStr;
	}

	private String feedbackStartTimeStr;
	 /**
	 * 反馈截止时间（精确到分钟）
	 */
	private Date feedbackEndTime;
	private String feedbackEndTimeStr;

	public DcSupTaskInfoAdd() {
		this(null);
	}

	public DcSupTaskInfoAdd(String id){
		super(id);
	}
	
	@NotBlank(message="任务id不能为空")
	@Size(min=0, max=64, message="任务id长度不能超过 64 个字符")
	public String getTaskId() {
		return taskId;
	}

	public void setTaskId(String taskId) {
		this.taskId = taskId;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getFeedbackStartTime() {
		return feedbackStartTime;
	}

	public void setFeedbackStartTime(Date feedbackStartTime) {
		this.feedbackStartTime = feedbackStartTime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getFeedbackEndTime() {
		return feedbackEndTime;
	}

	public void setFeedbackEndTime(Date feedbackEndTime) {
		this.feedbackEndTime = feedbackEndTime;
	}
	
}